package models

import (
	"time"

	"gorm.io/datatypes"
)

type User struct {
	Uid        int            `gorm:"primaryKey;autoIncrement" json:"uid"`
	Name       string         `json:"name"`
	Nick       string         `json:"nick"`
	Email      string         `json:"email"`
	Username   string         `json:"username"`
	Password   string         `json:"password"`
	AvatarUrl  string         `json:"avatar_url"`
	Source     uint8          `json:"source"`
	Hobby      datatypes.JSON `json:"hobby"`
	Level      uint8          `json:"level"`
	Mobile     string         `json:"mobile"`
	Gender     uint8          `json:"gender"`
	ProvinceId uint16         `json:"province_id"`
	CityId     uint16         `json:"city_id"`
	DistrictId uint16         `json:"district_id"`
	Score      uint32         `json:"score"`
	Balance    uint32         `json:"balance"`
	AppendInfo datatypes.JSON `json:"append_info"`
	Status     int8           `json:"status"`
	Token      string         `json:"token"`
	Note       string         `json:"note"`
	CreateTime time.Time      `gorm:"autoCreateTime" json:"create_time"`
	UpdateTime time.Time      `gorm:"default:null;" json:"update_time"`
	Base       `gorm:"-"`
}

// 设置表名
func (User) TableName() string {
	return "tour_user"
}
